package com.qf.proxy.test;

import cn.hutool.core.io.FileUtil;
import cn.hutool.db.Db;
import cn.hutool.db.Entity;
import cn.hutool.db.ds.DSFactory;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.qf.proxy.util.http.ge.httpclient.HttpClient;
import com.qf.proxy.util.http.ge.httpclient.HttpClientConfig;
import com.qf.proxy.util.zhanghttp.HttpClientUtil;
import lombok.SneakyThrows;
import org.apache.commons.lang3.StringUtils;

import java.util.List;

import static com.qf.proxy.util.StringUtil.DelOther;

/**
 * @Author: 葛成瑞
 * @Date: 2024/12/27 15:23
 */
public class 抓取宁夏医科大学学报 {
    @SneakyThrows
    public static void main(String[] args) {

        Db use = Db.use(DSFactory.get("data_com"));
        String table = "ningxiahead";
        String tableDown = "ningxiahead_down";
        String donwPath = "E:\\nxykdxpdf\\";

//        for (int i = 228; i <= 228; i++) {
//            String muluUrl = "http://xbonline.nxmu.edu.cn/api/api/Web/GetIssue?_t=1735284927&Id=228";
//            String replace = muluUrl.replace("228", i + "");
//            String s = HttpUtil.get(replace);
//            if (s != null) {
//                Entity entity = new Entity();
//                entity.setTableName("ningxiahead");
//                entity.set("name", i);
//                entity.set("list", s);
//                use.insert(entity);
//            }
//        }

//        List<Entity> query = use.query("select * from " + table + " where status is  null");

//        for (Entity entity : query) {
//            String str = entity.getStr("list");
//            if (StringUtils.isNotEmpty(str)) {
//                JSONObject jsonObject = JSONObject.parseObject(str);
//                String string = jsonObject.getJSONObject("Data").getString("YearIssue_NoTtitle");
//                if (string.contains("2023")||string.contains("2024")) {
//                    entity.set("status", "1");
//                    entity.set("issue", string);
//                    use.insertOrUpdate(entity,"id");
//                }
//
//
//            }
//        }

//        List<Entity> query = use.query("select * from " + table + " where status = 1");
//        for (Entity entity : query) {
//            Integer name = entity.getInt("name");
//            String goURL = "http://xbonline.nxmu.edu.cn/api/api/Web/LastIssueList?_t=1735285534&PageSize=10&PageIndex=1&IssueId=226";
//            goURL = goURL.replace("226", name + "");
//            String s = HttpUtil.get(goURL);
//            if (StringUtils.isNotEmpty(s)) {
//                JSONObject jsonObject = JSONObject.parseObject(s);
//                Integer itemCount = jsonObject.getInteger("ItemCount");
//                if (itemCount > 0) {
//                    entity.set("issueall", itemCount);
//                    entity.set("status", 2);
//                    use.insertOrUpdate(entity, "id");
//                }
//            }
//        }

//        List<Entity> query = use.query("select * from " + table + " where status = 2");
//        for (Entity entity : query) {
//            Integer name = entity.getInt("name");
//            Integer issueall = entity.getInt("issueall");
//            String goURL = "http://xbonline.nxmu.edu.cn/api/api/Web/LastIssueList?_t=1735285799&PageSize=10&PageIndex=1&IssueId=225";
//            goURL = goURL.replace("225", name + "");
//            goURL = goURL.replace("PageSize=10","PageSize="+issueall);
//            String s = HttpUtil.get(goURL);
//            if (StringUtils.isNotEmpty(s)) {
//                entity.set("issuelist", s);
//                entity.set("status", 3);
//                use.insertOrUpdate(entity, "id");
//            }
//        }

//        List<Entity> query = use.query("select * from " + table + " where status = 3");
//        for (Entity entity : query) {
//            String json = entity.getStr("issuelist");
//            Integer pid = entity.getInt("id");
//            if (StringUtils.isNotEmpty(json)) {
//                JSONObject jsonObject = JSONObject.parseObject(json);
//                JSONArray jsonArray = jsonObject.getJSONArray("Data");
//                for (int i = 0; i < jsonArray.size(); i++) {
//                    JSONObject jsonObject1 = jsonArray.getJSONObject(i);
//                    String title = jsonObject1.getString("Title");
//                    String PDFFileNameUrlGUID = jsonObject1.getString("PDFFileNameUrlGUID");
//                    if (StringUtils.isNotEmpty(title)&&StringUtils.isNotEmpty(PDFFileNameUrlGUID)) {
//                        Entity ins = new Entity();
//                        ins.setTableName(tableDown);
//                        ins.set("pid", pid);
//                        ins.set("pdfname", title);
//                        ins.set("downKey", PDFFileNameUrlGUID);
//                        ins.set("status", 1);
//                        use.insert(ins);
//                    }
//                }
//            }
//        }

        // 进行下载

//        List<Entity> query = use.query("select * from " + tableDown + " where checksta = 2");
//        for (Entity entity : query) {
//            String downKey = entity.getStr("downKey");
//            String titleName = DelOther(entity.getStr("pdfname"));
//            if (StringUtils.isNotEmpty(downKey)) {
//                String DOWNuRL = "http://xbonline.nxmu.edu.cn/api/api/Web/OpenArticleFilebyGuidNew?Id=f6c3ca16-f287-4dee-8306-845e880079b3";
//                DOWNuRL = DOWNuRL.replace("f6c3ca16-f287-4dee-8306-845e880079b3", downKey);
//                HttpClientConfig downConfig = new HttpClientConfig();
//                downConfig.setUrl(DOWNuRL);
//                downConfig.setProxy(false);
//                downConfig.setDirPath(donwPath);
//                downConfig.setFilePath(titleName + ".pdf");
//                Integer downImageCode = HttpClient.getDownImageCode(downConfig);
//                if (downImageCode == 200) {
//                    entity.set("status", 2);
//                    entity.set("pdfPath", downConfig.getDirPath() + downConfig.getFilePath());
//                    use.insertOrUpdate(entity, "id");
//
//                }
//            }
//        }

        //校验数据下载正常不
//        List<Entity> query = use.query("select * from " + tableDown + " where status = 2");
//        for (Entity entity : query) {
//            String pdfPath = entity.getStr("pdfPath");
//            if (StringUtils.isNotEmpty(pdfPath)) {
//                if (FileUtil.exist(pdfPath)) {
//                    entity.set("checksta", 1);
//                }else {
//                    entity.set("checksta", 2);
//                }
//                use.insertOrUpdate(entity, "id");
//
//            }
//        }

    }
}
